1. Field of the Invention
The present invention relates to a method, system, program, and data structures for reconfiguring output devices in a network system.
2. Description of the Related Art
Network printing systems generally comprise an assemblage of different printers, client computers, servers, and other components connected over a network. A network administrator or user may want to monitor the status of print jobs being printed or the general operational status of the printer. A computer may monitor a remote printer over a network using a network protocol, such as SNMP or TCP/IP, or a line connection such as a parallel port connection.
In a Microsoft Windows NT environment, a client application interfaces with a printer object, also known as a logical printer.** The printer object is a software interface to which a driver, output port, and configuration settings are associated. The port provides an interface to a physical printer, which may be a serial, parallel, or network printer. One printer object can be associated with multiple ports. In such case, when submitting a print job to a print object with multiple ports, one of the ports is selected to handle the job.
The client submits a print job, specifying a print object for the print job, to a spooler. The spooler may queue multiple print jobs. When processing a print job, the spooler would determine an available port for the print object, which may have multiple ports. Associated with every port is a port monitor program, such as Local, Macintosh, HP, and line printer daemon protocol (LPR). The LPR port monitor uses the TCP/IP protocol and is typically used to transmit print jobs to network printers over a TCP/IP network. The spooler submits the job to the port monitor for the port. The LPR port monitor maintains information on the IP address or host name of the printers attached to the ports. When the spooler submits the job to one port associated with the printer object, the LPR port monitor submits the job over the network to the printer device having the IP address associated with the port the spooler selected. If multiple ports are associated with a single printer object, then the spooler may select another port if a previous selected port for the print job failed.
In order to add network printers at a new IP address, the network administrator would have to create a port interfacing with the physical printer at the IP address and then associate logical printer objects with that port to print to the new printer. To accomplish this operation for each port to add for a new printer or for each printer object to associate with a different port, the network administrator would have to proceed through multiple graphical user interface (GUI) windows. To add a port, the user would have to perform several GUI actions to first add a network port and enter a network IP address or host name of the printer. For instance, the user would right click the mouse over the printer object shown in FIG. 1a, e.g., xe2x80x9cNetwork Printer,xe2x80x9d choose xe2x80x9cPropertiesxe2x80x9d out of the pop-up menu, and then choose the Ports Tab. The user would then select the xe2x80x9cAdd Portxe2x80x9d button in FIG. 1b. Selection of this button causes the spooler to call the port monitor to put up the Add Port window in which the user may add a port, which includes specifying an IP address of a network printer in the system. After adding the port, the port monitor returns control to the spooler which then updates internal data structures to reflect the added port and returns to FIG. 1b. Upon control returning to FIG. 1b, the user may then associate the printer object selected in FIG. 1a, i.e., that was the target of the right click operation, with a port, which may be the new port.
In large network environments there may be hundreds of printers. Thus, in order to add ports for new network devices or configure network printers to use certain ports, the network administrator would have to go through the above described GUI steps to add a port for a new device. Still further GUI operations would have to be performed to change the port to which the each printer is associated. Moreover, in order to verify a particular configuration, the network administrator would have to go through numerous GUI windows for each printer to verify the configuration.
Thus, there is a need in the art for an improved method, system, program, and data structures to associate new port monitors with printer objects.
To overcome the limitations in the prior art described above, preferred embodiments disclose a method, system, program, and data structures for configuring output device resources including device objects, output devices, and logical interfaces to the output devices. Jobs directed to a device object are submitted to one associated output device over a network. At least one output device is associated with each device object by associating the device object with the logical interface to the output device. A file is received including a plurality of entries, wherein each entry indicates a network address of one output device. Each entry in the file is processed to create a logical interface to the output device at the network address indicated in the entry.
In additional embodiments, each entry further indicates one device object. In such case, processing each entry in the file further comprises associating the device object indicated in the entry with the logical interface created for the entry.
In further embodiments, processing each entry in the file further comprises determining whether there is a preexisting logical interface to the output device indicated in the entry before creating the logical interface to the output device. In such case, the logical interface is not created if there is a preexisting logical interface to the output device indicated in the entry.
In yet further embodiments, all the logical interfaces are created before associating the logical interfaces with the device objects.
In printer embodiments, the output device comprises a printer, the logical interface comprises a printer port, and the device object comprises a logical printer. Alternatively, the output device may comprise any output device known in the art, such as printers, facsimile machines, copiers, telephones, display devices, input/output devices, storage devices, communication systems, etc.
Preferred embodiments provide a mechanism for automatically reconfiguring multiple output devices, such as printers, in a network system. In prior art printer managements systems, such as the Microsoft Windows NT server, the network administrator would have to proceed through a series of GUI panels to separately add a port for to the system for a specified IP address and then go through further GUI panels to associate the added port to a printer object. This process can be especially tedious if the network administrator needs to add numerous, perhaps hundreds, of new printers or reconfigure the port monitors or ports to which logical printer objects are associated. With the preferred embodiments, the user need only create a file including entries for the new ports to add for the new printers as well as other information, and the port monitor program will automatically add all the ports and possibly create associations between existing printer objects and the new ports. Preferred embodiments obviate the need for the network administrator to use the GUI panels to separately add each port, reconfigure logical objects, and delete obsolete ports that would otherwise require the network administrator or user to change settings on numerous GUI panels for each port or logical object being reconfigured.